iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0
永豐金融APIs

當金融與API相遇會擦出什麼火花?系列 第 13

<Day13> Ticks — 取得股票(Stock)逐筆成交資料

  • 分享至 

  • xImage
  •  

● 接下來這幾章會示範如何取得想要的Ticks資料

什麼是Ticks?

"Tick"代表"檔位",那什麼是檔位呢?" 檔位"就是當我們在買賣股票時會看到股票依成交價格上下跳動的固定升降單位,由證交所所訂定,分為6個級距,每股市價未滿10元者,升降單位為0.01元,10元至未滿50元者為0.05元、50元至未滿100元者為0.1元、100元至未滿500元者為0.5元、500元至未滿1000元者為1元、1000元以上者為5元,這裡可供參考。而我們用API去取ticks就等於是在取得股票的每筆成交資料。

如何取得股票Ticks資料?

在這邊我們一樣以"永豐金"為例,代碼為「2890
我們來試著抓取前一天的Ticks資料

以下為其程式碼

ticks = api.ticks(
    contract=api.Contracts.Stocks["2890"],  #先用Contract傳入要抓取Ticks的公司資料
    date="2021-09-27"  #要抓取的交易日期
    )  
    print(ticks)

那抓出來的資料會呈現以下這樣
https://ithelp.ithome.com.tw/upload/images/20210928/201399343y9xmXLFW4.png

這到底要我們怎麼看呀/images/emoticon/emoticon16.gif

為了讓我們更加方便觀看及瀏覽想要的資訊,我們必須要再把它轉為DataFrame的形式
但在將資料轉成DataFrame之前,我們勢必要做一個動作,就是先安裝pandas

那這邊簡單介紹一下什麼是pandas?

"pandas"是用於python語言當中拿來做數據分析及操縱的軟體函式庫,可以把它想像成跟excel一樣用來對資料做計算、分析或制定圖表,有了它,我們就可以更方便且更快速的對大量的資料做處理。

用以下程式碼安裝pandas

pip install pandas

安裝完成後,我們就可以將ticks資料轉換為DataFrame形式啦~~~

首先,我們先引入pandas並命名為pd

import pandas as pd

接著輸入以下程式碼

df = pd.DataFrame({**ticks}) #將ticks資料轉換為DataFrame形式
df.ts = pd.to_datetime(df.ts) #將ts欄位轉換為datetime格式,ts為時間
print(df) #將已轉換成DataFrame的資料輸出至終端機

如此以來,就能得到清楚的資料表了

https://ithelp.ithome.com.tw/upload/images/20210928/20139934NfY71N5Sub.png

由左到右行,名詞解釋

  • ask_volume: 委賣量
  • ask_price: 委賣價
  • ts: 交易時間
  • volume: 成交量
  • close: 成交價
  • bid_volume: 委買量
  • bid_price: 委買價

左下角的「1577 rows」代表有著1577筆的ticks資料


上一篇
<Day12>淺談什麼是股票、期貨、選擇權、指數?
下一篇
<Day14> Ticks — 取得期貨(Futures)逐筆成交資料
系列文
當金融與API相遇會擦出什麼火花?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言